package top.malegod.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import top.malegod.model.Comments;
import top.malegod.model.Order;

/**
 * Create by IntelliJ IDEA
 *
 * @author: AbelEthan
 * @date-Time: 2018/5/23 13:46
 * @description: 订单数据库操作接口
 */
public interface OrderMapper {

  /**
   * 查询订单通过userId
   * @param userId
   * @return
   */
  Order findOrderByUserId(String userId);

  /**
   * 获取订单详细信息
   * @param userId
   * @param id
   * @return
   */
  Order findOrder(@Param("userId") String userId, @Param("id") String id);

  /**
   * 获取所有订单
   * @param id
   * @return
   */
  List<Order> findAllOrderByUserId(String id);

  /**
   * 创建订单
   * @param order
   * @return
   */
  int addOrder(Order order);

  /**
   * 取消订单
   * @param id
   * @param userId
   * @return
   */
  int update(@Param("id") String id, @Param("userId") String userId);

  /**
   * 删除订单
   * @param id
   * @return
   */
  int deleteOrder(String id);

  /**
   * 增加订单评论
   * @param comments
   * @return
   */
  int addCommentsOrder(Comments comments);


  /**
   * 订单评论完成
   * @param orderId
   * @return
   */
  int commentsOrderSuccess(String orderId);

  /**
   * 进行中的订单
   * @param userId
   * @return
   */
  Order findOngoingOrderByUserId(String userId);

    /**
     * 未接订单
     * @param userId
     * @return
     */
    Order findOpenOrderByUserId(String userId);

  /**
   * 付款
   * @param orderId
   */
  void payOrder(String orderId);
}
